This repository was archived by the owner on Aug 7, 2026. It is now read-only.
test: characterize shared ornate UI behavior - #63
Draft
magicalfeyfenny wants to merge 1 commit into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Primary issue
Closes #62 only if a separately authorized future disposition merges the retained candidate; this validation branch itself remains non-merge.
Intent
This draft ports the approved ornate UI characterization boundary onto the current dev line without changing production ownership or behavior.
Scope
The candidate adds six focused GMTL tests and updates the ownership map, decomposition plan, and declared GMTL count from 126 to 132.
Non-goals
No production helper moved, no GameMaker resource was created, and the later ornate UI extraction requires its own primary issue, branch, and PR.
Acceptance mapping
The palette and title-panel contract is covered by Ornate palettes and title panels preserve normal and selected visual states.
The title and configuration order contract is covered by Title main and options surfaces preserve row order, labels, values, and limits.
The opening-story portrait and empty-text contract is covered by Opening-story composition preserves portrait bounds and empty text layout.
The HUD-anchor and boss-heart boundary contract is covered by Final-boss HUD anchors and heart states preserve empty, minimum, maximum, and boundary cases.
The pause-page ordering and selection-boundary contract is covered by All pause pages preserve row visibility, ordering, and selection boundaries.
The caller-visible draw-state contract, including the filigree-divider jewel-color side effect, is covered by Ornate draw helpers preserve alignment, font, filtering, and current color postconditions.
All six tests executed in the current full GMTL run, which passed one suite and 132 tests.
Important files and ownership
The test bootstrap owns the new regression coverage, while the current production helpers remain in scr_title_helpers, scr_story_helpers, and scr_gameplay_helpers.
The documents describe scr_ui_ornate only as a proposed future owner, and no production GML, resource metadata, or generated asset ownership changed.
Risk
This is high risk because a stale visual, layout, or draw-state assertion could constrain a later extraction incorrectly.
Validation
The local governance check, repository hygiene check, 81 Python tests, and git diff check passed on the staged candidate.
The documented local GMTL suite passed one suite and 132 tests, including every one of the six characterization contracts.
The registry increased exactly from 126 to 132 tests, and the current visual tour completed all 26 captures with the eight relevant title, story, final-boss, and pause captures reviewed.
No production GML or GameMaker resource metadata changed, and the immutable historical candidate remains unchanged.
Review status
This remains a high-risk draft and awaits fresh correctness, validation, and governance attestations bound to this exact contract and head.
The draft is not ready for review approval or merge, and any later head or base change requires fresh review evidence.
Remaining risks
Hosted Required CI and the three required fresh review attestations remain pending for this draft pull request.
The subsequent extraction is deliberately outside this candidate and must preserve these contracts through its own lifecycle.
Merge intention
This validation branch is not intended to merge and targets dev only to retain governed candidate evidence.
External-action authority
The active authority covers this commit, push, and draft pull request but does not authorize merge, release, deployment, publication, tagging, or production extraction.
Rollback or final disposition
Before merge, the safe rollback is to retain this draft and abandon the branch without altering legacy provenance.
If a separately authorized future disposition merges the candidate, a normal revert pull request can remove the six tests and documentation updates without rewriting history.
Non-merge record
Purpose: Retain the clean ornate UI characterization candidate and its current validation evidence.
Exact candidate or workflow SHA: bf67c5a
Retained evidence: The local 132-test GMTL pass, reviewed visual-tour captures, governance checks, and this draft PR contract remain attached to the candidate.
Final disposition: Retain this validation branch until separately governed extraction no longer needs the evidence; deletion requires explicit authority.
Lifecycle exception
No lifecycle exception applies to this issue-numbered branch.
Historical provenance
Issue #54, PR #52, and candidate acdf8e5 are historical provenance only.
The legacy branch validation/ornate-ui-characterization-acdf8e5 was not modified, and this candidate does not claim its historical 134-test count or validation as current evidence.
Independent agent review
Fresh-agent attestations must bind the exact base, head, and machine contract before this draft can be considered ready.
The current implementation agent does not count as an independent reviewer, and no merge action is authorized by this draft.